home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 2009 February
/
PCWFEB09.iso
/
Software
/
Linux
/
Kubuntu 8.10
/
kubuntu-8.10-desktop-i386.iso
/
casper
/
filesystem.squashfs
/
usr
/
bin
/
linux-boot-prober
< prev
next >
Wrap
Text File
|
2008-08-25
|
1KB
|
52 lines
#!/bin/sh
. /usr/share/os-prober/common.sh
set -e
require_tmpdir
grep "^/dev/" /proc/mounts | parse_proc_mounts >"$OS_PROBER_TMP/mounted-map" || true
partition="$1"
if ! mapped="$(mapdevfs "$partition")"; then
log "Device '$partition' does not exist; skipping"
continue
fi
if ! grep -q "^$mapped " "$OS_PROBER_TMP/mounted-map"; then
for test in /usr/lib/linux-boot-probes/*; do
debug "running $test"
if [ -x $test ] && [ -f $test ]; then
if $test $partition; then
debug "linux detected by $test"
break
fi
fi
done
else
mpoint=$(grep "^$mapped " "$OS_PROBER_TMP/mounted-map" | head -n1 | cut -d " " -f 2)
if [ "$mpoint" != "/target/boot" ] && [ "$mpoint" != "/target" ] && [ "$mpoint" != "/" ]; then
type=$(grep "^$mapped " "$OS_PROBER_TMP/mounted-map" | head -n1 | cut -d " " -f 3)
if ! grep -q " $mpoint/boot " "$OS_PROBER_TMP/mounted-map"; then
mountboot="$(linux_mount_boot "$partition" "$mpoint")"
bootpart="${mountboot%% *}"
bootmounted="${mountboot#* }"
else
bootpart="$partition"
bootmounted=0
fi
for test in /usr/lib/linux-boot-probes/mounted/*; do
if [ -f $test ] && [ -x $test ]; then
debug "running $test on mounted $partition"
if $test $partition $bootpart $mpoint $type; then
debug "$test succeeded"
break
fi
fi
done
if [ "$bootmounted" = 1 ]; then
repeat_umount $mpoint/boot || true
fi
fi
fi